package com.Maykk.Demo12;

import java.util.ArrayList;
import java.util.stream.Stream;

/**
 * @ClassName: Demo04
 * @Description: TODO Stream 中间流 && 结束流
 * @Author: MaykkStar@163.com
 */
public class Demo04 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        initList(list);
        // 找姓郭的
        list.stream().filter(s -> s.startsWith("郭")).forEach(System.out::println);
        System.out.println("''''''''''''''''''");
        // 找三个字的
        list.stream().filter(s -> s.length() == 3).forEach(System.out::println);
        System.out.println("''''''''''''''''''");
        // 取前六个记录
        list.stream().limit(6).forEach(System.out::println);
        System.out.println("''''''''''''''''''");
        // 跳过3个，取2个
        list.stream().skip(3).limit(2).forEach(System.out::println);
        System.out.println("''''''''''''''''''");
        // 取前六个生成一个流
        Stream<String> s01 = list.stream().limit(6);
        // 跳过2个，取8个
        Stream<String> s02 = list.stream().skip(2).limit(8);
        // 合并两个流
        // Stream<String> s03 = Stream.concat(s01, s02);
        // s03.forEach(System.out::println);
        // System.out.println("''''''''''''''''''");
        // 去重
        Stream<String> s03 = Stream.concat(s01, s02).distinct();
        // s03.forEach(System.out::println);

        // 排序
        s03.sorted().forEach(System.out::println);
    }

    private static void initList(ArrayList<String> list) {
        list.add("郭德纲");
        list.add("郭麒麟");
        list.add("郭汾阳");
        list.add("郭美美");
        list.add("郭阳");
        list.add("郭亮");
        list.add("郭靖");
        list.add("黄蓉");
        list.add("杨过");
        list.add("小龙女");
        list.add("迪丽热巴");
        list.add("古力娜扎");
    }
}
